Various types of data communication over the Internet are becoming commonplace. For example, people and enterprises are choosing to use voice over Internet protocol (VoIP) technology as an inexpensive way to communicate by voice instead of making a conventional telephone call. Videoconferencing applications are similarly being used for sending and receiving video over the Internet.
However, lost packets present a problem with data communication, particularly in such applications where latency is a concern. Such packets may be lost as a result of pure loss, in which a packet itself is lost, or effective loss, in which a packet is either lost or experiences excessive jitter (e.g. more than a length of a typical de-jitter buffer, such as 100 ms or more). For example, in VoIP applications, lost packets result in unnatural sounding speech or broken speech.
A significant amount of packet loss occurs in wireless networking, because of its generally lower capacity and fluctuating available bandwidth, and as a result of random packet losses due to varying signal strength, interference and so forth. Another source of significant amount of packet loss may occur at a network bottleneck, e.g., at a router in an enterprise branch office. Latency-sensitive applications such as VoIP applications and videoconferencing thus often experience significant degradation in quality of service when used in such networks.